package language_basic

/*
gopath目录是编写源代码的目录。该目录下往往要有3个子目录：src，bin，pkg。

src ---- 里面每一个子目录，就是一个包。包内是Go的源码文件
pkg ---- 编译后生成的，包的目标文件
bin ---- 生成的可执行文件。
*/

import "fmt"

func HelloWorld() {
	fmt.Println("Hello, World!")
}

/*
package
在同一个包下面的文件属于同一个工程文件，不用import包，可以直接使用
在同一个包下面的所有文件的package名，都是一样的
在同一个包下面的文件package名都建议设为是该目录名，但也可以不是
*/

/*
import
import "fmt" 告诉 Go 编译器这个程序需要使用 fmt 包的函数，fmt 包实现了格式化 IO（输入/输出）的函数
可以是相对路径也可以是绝对路径，推荐使用绝对路径（起始于工程根目录）

a,点操作 我们有时候会看到如下的方式导入包

import(
	. "fmt"
)
这个点操作的含义就是这个包导入之后在你调用这个包的函数时，你可以省略前缀的包名，也就是前面你调用的fmt.Println("hello world")可以省略的写成Println("hello world")

b,别名操作 别名操作顾名思义我们可以把包命名成另一个我们用起来容易记忆的名字

import(
	f "fmt"
)
别名操作的话调用包函数时前缀变成了我们的前缀，即f.Println("hello world")

c,_操作 这个操作经常是让很多人费解的一个操作符，请看下面这个import

import (
  "database/sql"
  _ "github.com/ziutek/mymysql/godrv"
)
_操作其实是引入该包，而不直接使用包里面的函数，而是调用了该包里面的init函数
*/

/*
main包的main()函数,是程序运行的入口。
*/
